#ifndef DanMuTool_h
#define DanMuTool_h

typedef struct tagDanMu * DanMu;

double DanMu_GetAppearTime(DanMu d);
int DanMu_GetModel(DanMu d);
int DanMu_GetFontSize(DanMu d);
int DanMu_GetColour(DanMu d);
int DanMu_GetSendTime(DanMu d);
int DanMu_GetPool(DanMu d);
int DanMu_GetHash(DanMu d);
__int64 DanMu_GetDatabaseId(DanMu d);
const char * DanMu_GetMessage(DanMu d);


typedef struct tagDanMuSet * DanMuSet;

void FreeDanMuSet(DanMuSet ds);

int DanMuSet_Length(DanMuSet ds);
DanMu DanMuSet_GetItem(DanMuSet ds, int pos);


typedef struct tagDanMuTool * DanMuTool;

DanMuTool NewDanMuTool(void);
void FreeDanMuTool(DanMuTool tool);

int DanMuTool_ExistError(DanMuTool tool);
const char * DanMuTool_GetError(DanMuTool tool);

int DanMuTool_DownloadID(DanMuTool tool, char *url);
int DanMuTool_GetID(DanMuTool tool);
void DanMuTool_SetID(DanMuTool tool, int cId);

int DanMuTool_DownloadDanMu(DanMuTool tool);
int DanMuTool_DisposeDanMu(DanMuTool tool);

DanMuSet DanMuTool_CreateDanMuSet(DanMuTool tool);

DanMuTool NewDanMuToolEx(char *cIdURL);
DanMuSet DanMuTool_CreateDanMuSetEx(DanMuTool tool);

char * DanMu_Static_UTF8ToGB2312(const char *utf8);
int DanMu_Static_HashToUID(int hash);

#endif
